#ifndef _RETRO_EDITTEXTURE
#define _RETRO_EDITTEXTURE

namespace Retro
{
  namespace Creator
  {
    namespace Dialog
    {
      class EditTexture : public DialogBase
      {
      private:
        GUI::TexturePreview picTexture;

        HWND
          hEditName,
          hEditPath,
          hComboType,
          hEditData1,
          hEditData2,
          hUpDownData1,
          hUpDownData2;
        Label
          lblName,
          lblPath,
          lblType,
          lblData1,
          lblData2;
        Button
          btnPath,
          btnOK,
          btnCancel;
        Separator
          sepHeader,
          sepButtons,
          sepData;

        LayoutElement*  elemData;
        BOOL            isNewTexture;
        Gdip::Bitmap*   newBitmap;

        OPENFILENAME    open;
        TCHAR           path[MAX_PATH];

        VOID            updateTypeData();

      protected:
        VOID            onNotify(Event::NotifyEvent& iEvent);
        VOID            onCommand(Event::CommandEvent& iEvent);
        VOID            onLoad();
        VOID            onUnload();

      public:
        VOID            setTexture(Data::Texture* value);
        VOID            getTexture(Data::Texture* value);
        VOID            newTexture();
      };
    } // namespace Dialog
  } // namespace Creator
} // namespace Retro

#endif